from pydantic import BaseModel
from typing import List, Optional, Dict

class ProblemInfo(BaseModel):
    wtzy: str  # 问题摘要
    fl: List[str] = []  # 问题分类
    tygjz: List[str] = []  # 统一关键字
    zdygjz: List[str] = []  # 自定义关键字
    bs: dict = {  # 标识
        "yy": "",  # 扬言信息
        "sggb": "",  # 省管干部信息
        "sfcf": ""   # 是否重复
    }

class ReportedInfo(BaseModel):
    bh: str  # 唯一标识
    mc: str  # 被反映人姓名
    zw: str  # 职务
    dwhdz: str  # 单位或地址
    zj: str  # 职级
    gbglqx: str  # 干部管理权限

class BaseLetterRequest(BaseModel):
    bh: str  # 唯一标识
    caseIntruction: str  # 信访件内容

class NetLetterRequest(BaseLetterRequest):
    bfyrs: List[dict]  # 被反映人信息数组
    cfj: Optional[List[dict]] = None  # 添加cfj字段，设为可选
    fyrs: Optional[List[dict]] = None  # 添加fyrs字段，设为可选

class LetterResponse(BaseModel):
    success: str
    message: str
    data: dict 